Network based provision of rendering and hosting systems

ABSTRACT

Improved systems and methods for enhancing the performance of network based computerized content rendering and hosting and providing of devices, systems and/or platforms by modifying the capabilities and providing non-native functionality to such devices, systems and/or platforms through a novel and improved data processing and networking framework.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/924,172, filed Oct. 21, 2019, titled “Integrated Bet Slip forAffiliates”, which is incorporated by reference herein in its entirety.

This application includes material that is subject to copyrightprotection. The copyright owner has no objection to the facsimilereproduction by anyone of the patent disclosure, as it appears in thePatent and Trademark Office files or records, but otherwise reserves allcopyright rights whatsoever.

FIELD

The present disclosure relates generally to improving the performance ofnetwork based computerized content rendering and hosting and providingof devices, systems and/or platforms by modifying the capabilities andproviding non-native functionality to such devices, systems and/orplatforms through a novel and improved data processing and networkingframework.

BACKGROUND

Computing devices running native software or web browsers can utilize acomputer network to offload content rendering and data processing toremote computing devices. Such devices can also retrieve data andcontent from remote devices via a computer network. One way ofoffloading content rending and data processing is via use of a webbrowser that can access web services over a computer network such as theInternet.

With the use of a computer network for offloading content rendering anddata processing there are setbacks and tradeoffs. For example, networkperformance in a computer network can be limited by its bandwidth aswell as network delay, quality of service issues, network congestion,and network resilience issues. Also, using a computer network foroffloading content rendering and data processing adds network securityconcerns and consideration of use of data encryption which can burdenadditional computer resources.

SUMMARY

In general, described herein are improved systems and methods forenhancing the performance of network based computerized contentrendering and hosting and providing of devices, systems and/or platformsby modifying the capabilities and providing non-native functionality tosuch devices, systems and/or platforms through a novel and improved dataprocessing and networking framework.

In some embodiments described herein, the systems and methods canovercome at least the technical problems mentioned in the backgroundsection above and other parts of the present disclosure as well as othertechnical problems not described herein but recognized by those skilledin the art. In general, described herein are improved systems andmethods that solve such technical problems by enhancing the performanceof network based computerized content rendering and hosting andproviding of devices, systems and/or platforms through a novel andimproved data processing and networking framework. In general, theimproved data processing and networking framework can include anaffiliate website or native application that can provide front-endcontent rendering and data processing functionality for a user of thewebsite or native application. And, by being communicatively coupled tothe affiliate website or native application (such as via links and/orfunctions in HTML iframes or in webviews of a native app), one or moreservers of an operator can provide back-end content rendering and dataprocessing functionality for the user of the website or nativeapplication.

In some embodiments, for the affiliate application, at least iframes canbe used within a website or webpage to implement modifying thecapabilities and providing non-native functionality to devices, systemsand/or platforms described herein. In some other embodiments, for theaffiliate application, at least webviews within a native application(such as a native mobile application) can be used to implement modifyingthe capabilities and providing non-native functionality to devices,systems and/or platforms described herein. In other words, webviews canbe used as an alternative to iframes inside native apps. Iframes can beused to support the affiliate component via a web browser. Theinformation that is provided into the iframe or webview depending on theimplementation can be information that the affiliate has alreadyinferred, received, or retrieved from a user.

In some embodiments, for the affiliate app or website, the dataaccumulating from populating fields and clicks and other types ofinteractions by users over time allows the affiliate to build machinelearning models that can more easily predict what content rendering anddata processing customers are going to request.

In accordance with one or more embodiments, this disclosure providescomputerized methods for enhancing the performance of network basedcomputerized content rendering and hosting and providing of devices,systems and/or platforms, as well as a non-transitory computer-readablestorage medium for carrying out technical steps of the computerizedmethods. The non-transitory computer-readable storage medium hastangibly stored thereon, or tangibly encoded thereon, computer readableinstructions that when executed by one or more devices (e.g., one ormore servers) cause at least one processor to perform a method for anovel and improved technology for enhancing the performance of networkbased computerized content rendering and hosting and providing ofdevices, systems and/or platforms.

In accordance with one or more embodiments, a system is provided thatincludes one or more computing devices configured to providefunctionality in accordance with one or more embodiments of a novel andimproved way of enhancing the performance of network based computerizedcontent rendering and hosting and providing of devices, systems and/orplatforms.

In accordance with one or more embodiments, functionality is embodied insteps of a method performed by at least one computing device. Inaccordance with one or more embodiments, program code (or program logic)executed by processor(s) of a computing device to implementfunctionality in accordance with one or more embodiments describedherein is embodied in, by and/or on a non-transitory computer-readablemedium.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages of thedisclosure will be apparent from the following description ofembodiments as illustrated in the accompanying drawings, in whichreference characters refer to the same parts throughout the variousviews. The drawings are not necessarily to scale, emphasis instead beingplaced upon illustrating principles of the disclosure:

FIG. 1 is a schematic diagram illustrating an example of a system withinwhich systems and methods disclosed herein can be implemented accordingto some embodiments of the present disclosure.

FIG. 2 is a schematic diagram illustrating an example of a computingdevice, in accordance with some embodiments of the present disclosure.

FIGS. 3A and 3B are schematic diagrams illustrating an example workflow,in accordance with some embodiments of the present disclosure.

FIGS. 4, 5, and 6 are flowcharts illustrating example methods, inaccordance with some embodiments of the present disclosure.

DESCRIPTION OF EMBODIMENTS

The present disclosure will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, certain example embodiments. Subjectmatter may, however, be embodied in a variety of different forms and,therefore, covered or claimed subject matter is intended to be construedas not being limited to any example embodiments set forth herein;example embodiments are provided merely to be illustrative. Likewise, areasonably broad scope for claimed or covered subject matter isintended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to be takenin a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of example embodiments in whole or in part.

In general, terminology may be understood at least in part from usage incontext. For example, terms, such as “and”, “or”, or “and/or,” as usedherein may include a variety of meanings that may depend at least inpart upon the context in which such terms are used. Typically, “or” ifused to associate a list, such as A, B or C, is intended to mean A, B,and C, here used in the inclusive sense, as well as A, B or C, here usedin the exclusive sense. In addition, the term “one or more” as usedherein, depending at least in part upon context, may be used to describeany feature, structure, or characteristic in a singular sense or may beused to describe combinations of features, structures or characteristicsin a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again,may be understood to convey a singular usage or to convey a pluralusage, depending at least in part upon context. In addition, the term“based on” may be understood as not necessarily intended to convey anexclusive set of factors and may, instead, allow for existence ofadditional factors not necessarily expressly described, again, dependingat least in part on context.

The present disclosure is described below with reference to blockdiagrams and operational illustrations of methods and devices. It isunderstood that each block of the block diagrams or operationalillustrations, and combinations of blocks in the block diagrams oroperational illustrations, can be implemented by means of analog ordigital hardware and computer program instructions. These computerprogram instructions can be provided to a processor of a general-purposecomputer to alter its function as detailed herein, a special purposecomputer, ASIC, or other programmable data processing apparatus, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, implement thefunctions/acts specified in the block diagrams or operational block orblocks. In some alternate implementations, the functions/acts noted inthe blocks can occur out of the order noted in the operationalillustrations. For example, two blocks shown in succession can in factbe executed substantially concurrently or the blocks can sometimes beexecuted in the reverse order, depending upon the functionality/actsinvolved.

These computer program instructions can be provided to a processor of: ageneral purpose computer to alter its function to a special purpose; aspecial purpose computer; ASIC; or other programmable digital dataprocessing apparatus, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, implement the functions/acts specified in the block diagramsor operational block or blocks, thereby transforming their functionalityin accordance with embodiments herein.

For the purposes of this disclosure a computer readable medium (orcomputer-readable storage medium/media) stores computer data, which datacan include computer program code (or computer-executable instructions)that is executable by a computer, in machine readable form. By way ofexample, and not limitation, a computer readable medium can includecomputer readable storage media, for tangible or fixed storage of data,or communication media for transient interpretation of code-containingsignals. Computer readable storage media, as used herein, refers tophysical or tangible storage (as opposed to signals) and includeswithout limitation volatile and non-volatile, removable andnon-removable media implemented in any method or technology for thetangible storage of information such as computer-readable instructions,data structures, program modules or other data. Computer readablestorage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM,flash memory or other solid-state memory technology, CD-ROM, DVD, orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other physical ormaterial medium which can be used to tangibly store the desiredinformation or data or instructions and which can be accessed by acomputer or processor.

For the purposes of this disclosure the term “server” should beunderstood to refer to a service point which provides processing,database, and communication facilities. By way of example, and notlimitation, the term “server” can refer to a single, physical processorwith associated communications and data storage and database facilities,or it can refer to a networked or clustered complex of processors andassociated network and storage devices, as well as operating softwareand one or more database systems and application software that supportthe services provided by the server. Servers can vary widely inconfiguration or capabilities, but generally a server can include one ormore central processing units and memory. A server can also include oneor more mass storage devices, one or more power supplies, one or morewired or wireless network interfaces, one or more input/outputinterfaces, or one or more operating systems, such as Windows Server,Mac OS X, Unix, Linux, FreeBSD, or the like.

For the purposes of this disclosure a “network” should be understood torefer to a network that can couple devices so that communications can beexchanged, such as between a server and a client device or other typesof devices, including between wireless devices coupled via a wirelessnetwork, for example. A network can also include mass storage, such asnetwork attached storage (NAS), a storage area network (SAN), or otherforms of computer or machine-readable media, for example. A network caninclude the Internet, one or more local area networks (LANs), one ormore wide area networks (WANs), wire-line type connections, wirelesstype connections, cellular or any combination thereof. Likewise,sub-networks, which can employ differing architectures or can becompliant or compatible with differing protocols, can interoperatewithin a larger network. Various types of devices can, for example, bemade available to provide an interoperable capability for differingarchitectures or protocols. As one illustrative example, a router canprovide a link between otherwise separate and independent LANs.

A communication link or channel can include, for example, analogtelephone lines, such as a twisted wire pair, a coaxial cable, full orfractional digital lines including T1, T2, T3, or T4 type lines,Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines(DSLs), wireless links including satellite links, or other communicationlinks or channels, such as can be known to those skilled in the art.Furthermore, a computing device or other related electronic devices canbe remotely coupled to a network, such as via a wired or wireless lineor link, for example.

A computing device can be capable of sending or receiving signals, suchas via a wired or wireless network, or can be capable of processing orstoring signals, such as in memory as physical memory states, and can,therefore, operate as a server. Thus, devices capable of operating as aserver can include, as examples, dedicated rack mounted servers, desktopcomputers, laptop computers, set top boxes, integrated devices combiningvarious features, such as two or more features of the foregoing devices,or the like. Servers can vary widely in configuration or capabilities,but generally a server can include one or more central processing unitsand memory. A server can also include one or more mass storage devices,one or more power supplies, one or more wired or wireless networkinterfaces, one or more input/output interfaces, or one or moreoperating systems, such as Windows Server, Mac OS X, Unix, Linux,FreeBSD, or the like.

For purposes of this disclosure, a client device can include a computingdevice capable of sending or receiving signals, such as via a wired or awireless network. A client device can, for example, include a desktopcomputer or a portable device, such as a cellular telephone, a smartphone, a display pager, a radio frequency (RF) device, an infrared (IR)device, an NFC device, a Personal Digital Assistant (PDA), a handheldcomputer, a tablet computer, a phablet, a laptop computer, a set topbox, a wearable computer, smart watch, an integrated or distributeddevice combining various features, such as features of the forgoingdevices, or the like.

A client device can vary in terms of capabilities or features. Claimedsubject matter is intended to cover a wide range of potentialvariations. For example, a simple smart phone, phablet or tablet caninclude a numeric keypad or a display of limited functionality, such asa monochrome liquid crystal display (LCD) for displaying text. Incontrast, however, as another example, a web-enabled client device caninclude a high-resolution screen, one or more physical or virtualkeyboards, mass storage, one or more accelerometers, one or moregyroscopes, global positioning system (GPS) or otherlocation-identifying type capability, or a display with a high degree offunctionality, such as a touch-sensitive color 2D or 3D display, forexample.

A client device can include or can execute a variety of operatingsystems, including a personal computer operating system, such as aWindows, iOS or Linux, or a mobile operating system, such as iOS,Android, or Windows Mobile, or the like.

A client device can include or can execute a variety of possibleapplications, such as a client software application enablingcommunication with other devices, such as communicating one or moremessages, such as via email, for example Yahoo! ® Mail, short messageservice (SMS), or multimedia message service (MMS), for example Yahoo!Messenger®, including via a network, such as a social network,including, for example, Tumblr®, Facebook®, LinkedIn®, Twitter®,Flickr®, or Google+®, Instagram™, to provide only a few possibleexamples. A client device can also include or execute an application tocommunicate content, such as, for example, textual content, multimediacontent, or the like. A client device can also include or execute anapplication to perform a variety of possible tasks, such as browsing,searching, playing, streaming or displaying various forms of content,including locally stored or uploaded images and/or video, or games (suchas fantasy sports leagues). The foregoing is provided to illustrate thatclaimed subject matter is intended to include a wide range of possiblefeatures or capabilities.

Also, for the purposes of this disclosure the term “app” should beunderstood to refer to an application, such as an application that canbe executed on a computing device.

There are many technical problems with a conventional affiliateworkflow. For example, current restrictions from many state regulatorswill not allow users to bet outside the applications or websitesprovided by operators (such as sports betting operators). The knownaffiliates at present redirect the users from their app or website tothe operator's flow. By the redirection, an affiliate can lose controlof the user in a partner page and the user experience is not seamless.

With an integrated bet slip and environment, such as the ones describedherein, the user can register, deposit and place bets inside an embeddediframe within an affiliate's app or web site. With such an approach, auser is not redirected to remote pages of the operator. The userregistration, verification, deposit and place bet actions happen withinthe app or website (or server) of the operator, but such things areinitiated via the affiliate's app or website.

In some embodiments, the affiliate app (which can be a native app or awebsite, for example) can include a single sign on. This means that theuser signs in once for the affiliate app and the components of theoperator as well. This can be implemented via one or more informationworkflows such as the OpenID workflow or one or more parts of the OpenIDworkflow. Such workflow(s) can connect and facilitate the communicationsand negotiations between the affiliate app and the back-endtransactional component of the operator. For example, account data,bets, authentication, and the like can be communicated through suchworkflow(s).

In some embodiments, the affiliate app can include an electronic wallet.The affiliate app can have active wallet which is used to fund bets. Theworkflow used for the affiliate app can be migrated and/or integratedinto the back-end transactional component of the operator so that fundscan be managed by the operator as well.

In some embodiments, the overall system can include geographical checks,such as via GPS in a device used by the user for betting.

One of the major restrictions on online sportsbook is with geographicalchecks. Geographical checks can be used to enforce state borders andregulations. A geo check application can be integrated in parts of theaffiliate app and/or the operator's backend component to prevent a userfrom placing bets that violate state regulations. This occurs becausethe geo check can monitor the location of the user to determine whetherthe user is in the appropriate location for making a bet.

In short, examples of the systems and methods disclosed herein forintegrating sports betting slips and environments for affiliates providespecific technical solutions to at least overcome the technical problemsmentioned in the background section and other parts of the applicationas well as other technical problems not described herein but recognizedby those skilled in the art.

Certain embodiments will now be described in greater detail withreference to the FIGS. 1-6 . In general, with reference to FIG. 1 , asystem 100 in accordance with an embodiment of the present disclosure isshown. FIG. 1 shows components of a general environment in which thesystems and methods discussed herein can be practiced. Not all thecomponents can be required to practice the disclosure, and variations inthe arrangement and type of the components can be made without departingfrom the spirit or scope of the disclosure. As shown, system 100 of FIG.1 includes local area networks (“LANs”)/wide area networks(“WANs”)—network 105, client devices (e.g., see client devices 102, 104,and 106), an affiliate server 108, an operator server 112, and ananalytics server 116. Applications used by the client devices can beserved by the servers illustrated in FIG. 1 , and such applications caninclude an affiliate application 109 which can be served at least inpart from the affiliate server 108.

In some embodiments, the affiliate application 109 or any of theaffiliate apps or websites described herein can be connected to, be apart of, or include a fantasy sports app or website (such as a fantasyfootball app or website). In such embodiments, the fantasy sports app orwebsite can be a part of or owned by the affiliate.

Example systems and methods disclosed herein can solve the problemsdisclosed through the affiliate application 109 (which can be or includeor be a part of an affiliate sports betting website). The affiliateapplication 109 can provide a front-end registration, an electronicwallet, and a betting environment for the user. And, by beingcommunicatively coupled to the affiliate application 109 (such as vialinks and/or functions in HTML iframes or in webviews of a native app),one or more servers of a sports betting operator (e.g., see operatorserver 112) can register users, maintain funds in appropriate accounts,and provide the sports betting transactions. The affiliate applicationcan be provided by server(s) of the affiliate and/or the operator (e.g.,see affiliate server 108).

FIG. 1 shows the affiliate server 108 providing the affiliateapplication 109 to the client devices 102, 104, and 106. And, theback-end transactional component 113 is provided by the operator server112. The back-end transactional component 113 can be provided throughthe affiliate application 109. Although, in such embodiments, theaffiliate application 109 and the back-end transactional component 113are separate applications being served from separate servers.

As shown, the affiliate server 108 is communicatively coupled todatabase 110 and uses the database 110 for data storage, retrieval, andmanagement. The operator server 112 is communicatively coupled todatabase 114 and uses the database 114 for data storage, retrieval, andmanagement. The analytics server 116 is communicatively coupled todatabase 118 and uses the database 118 for data storage, retrieval, andmanagement. The databases described herein can be used by the servers toselect, store and organize data used as input for the processesdescribed herein. For example, information described herein can be fromone or more of the databases described herein. The servers and clientdevices described herein can select and use the data stored andorganized in the databases as input for data processing and managementtasks described herein.

It is to be understood that processes described herein can be executedby one or more of the client devices or servers disclosed herein. Forexample, each of the client devices include a configuration to performat least some of the operations of method 500 depicted in FIG. 5 . And,specifically, for example, at least the operator server 112 includes aconfiguration to perform at least some of the operations of method 600depicted in FIG. 6 . Example embodiments of the client device andservers shown in FIG. 1 as well as the network 105 are described in moredetail below.

Client devices (e.g., see client devices 102, 104, and 106) can includea computing device capable of receiving and sending a message over anetwork, such as network 105—which can include a wireless network—, orthe like. Client devices can also be mobile devices that are configuredto be portable and held in a hand or two hands. Such devices includemulti-touch and portable devices such as, cellular telephones, smartphones, display pagers, radio frequency (RF) devices, infrared (IR)devices, Personal Digital Assistants (PDAs), handheld computers, laptopcomputers, wearable computers, smart watch, tablet computers, phablets,integrated devices combining one or more of the preceding devices, andthe like. As such, mobile devices typically range widely in terms ofcapabilities and features. For example, a cell phone can have a numerickeypad and a few lines of monochrome LCD display on which only text canbe displayed. In another example, a web-enabled mobile device can have atouch sensitive screen, a stylus, and an HD display in which both textand graphics can be displayed.

A web-enabled client device can include a browser application that isconfigured to receive and to send web pages, web-based messages, and thelike. The browser application can be configured to receive and displaygraphics, text, multimedia, and the like, employing virtually any webbased language, including a wireless application protocol messages(WAP), and the like. In one embodiment, the browser application isenabled to employ Handheld Device Markup Language (HDML), WirelessMarkup Language (WML), WMLScript, JavaScript, Standard GeneralizedMarkup Language (SMGL), HyperText Markup Language (HTML), eXtensibleMarkup Language (XML), and the like, to display and send a message.

Client devices (e.g., see client devices 102, 104, and 106) and servers(e.g., see servers 108, 112, and 116) can each include at least oneclient application (such as the affiliate application 109 or a part ofthe affiliate application or such as a part of the back-endtransactional component 113) that is configured to receive content ordata from another computing device. The client application (e.g., theaffiliate application 109 or a part of the back-end transactionalcomponent 113) can include a capability to provide and receive textualcontent, graphical content, audio content, authentication and keyinginformation, and the like. The client application can further provideinformation that identifies itself, including a type, capability, name,and the like. In one embodiment, client devices and servers can eachuniquely identify themselves through any of a variety of mechanisms.Client devices can be identifiable via a phone number, MobileIdentification Number (MIN), an electronic serial number (ESN), oranother type of device identifier. Servers, clusters, and computerswithin clusters can be identifiable via an electronic serial number(ESN) or another type of device identifier.

In general, client devices and servers (e.g., see the client devices andservers shown in FIG. 1 ) can be capable of sending or receivingsignals, such as via a wired or wireless network, or can be capable ofprocessing or storing signals, such as in memory as physical memorystates.

Network 105 is configured to couple client devices and servers (e.g.,see the client devices and servers shown in FIG. 1 ) with othercomputing devices. Network 105 is enabled to employ any form of computerreadable media for communicating information from one electronic deviceto another. Also, network 105 can include the Internet in addition tolocal area networks (LANs), wide area networks (WANs), directconnections, such as through a universal serial bus (USB) port, otherforms of computer-readable media, or any combination thereof. On aninterconnected set of LANs, including those based on differingarchitectures and protocols, a router acts as a link between LANs,enabling messages to be sent from one to another, and/or other computingdevices.

Within the communications networks utilized or understood to beapplicable to the present disclosure, such networks will employ variousprotocols that are used for communication over the network. Signalpackets communicated via a network, such as a network of participatingdigital communication networks, can be compatible with or compliant withone or more protocols. Signaling formats or protocols employed caninclude, for example, TCP/IP, UDP, QUIC (Quick UDP Internet Connection),DECnet, NetBEUI, IPX, APPLETALK™, or the like. Versions of the InternetProtocol (IP) can include IPv4 or IPv6. The Internet refers to adecentralized global network of networks. The Internet includes localarea networks (LANs), wide area networks (WANs), wireless networks, orlong haul public networks that, for example, allow signal packets to becommunicated between LANs. Signal packets can be communicated betweennodes of a network, such as, for example, to one or more sites employinga local network address. A signal packet can, for example, becommunicated over the Internet from a user site via an access nodecoupled to the Internet. Likewise, a signal packet can be forwarded vianetwork nodes to a target site coupled to the network via a networkaccess node, for example. A signal packet communicated via the Internetcan, for example, be routed via a path of switches, gateways, servers,etc. that can route the signal packet in accordance with a targetaddress and availability of a network path to the target address.

In some embodiments, the network 105 can include content distributionnetwork(s) and/or application distribution network(s). A contentdistribution network (CDN) or an application distribution network (ADN)generally refers to a delivery system that includes a collection ofcomputers or computing devices linked by a network or networks. A CDN orADN can employ software, systems, protocols or techniques to facilitatevarious services, such as storage, caching, communication of content, orstreaming media or applications included, associated with, or used bythe enhanced GUI generator.

Generally, the client devices and servers shown in FIG. 1 include acomputing system or device that includes a configuration to providecontent such as interactive content via a network to another device.Devices that can operate as such server(s) include personal computersdesktop computers, multiprocessor systems, microprocessor-based orprogrammable consumer electronics, network PCs, servers, and the like.The client devices and servers shown in FIG. 1 can provide a variety ofadditional services that include, but are not limited to, streamingand/or downloading media services, search services, email services,photo services, web services, social networking services, news services,third-party services, audio services, video services, instant messaging(IM) services, SMS services, MMS services, FTP services, voice over IP(VOIP) services, or the like. Such services can be used by a user uponthe user being authenticated, verified or identified by the service.Examples of content can include videos, text, audio, images, or thelike, which can be processed in the form of physical signals, such aselectrical signals, for example, or can be stored in memory, as physicalstates, for example.

The client devices and servers shown in FIG. 1 can be capable of sendingor receiving signals, such as via a wired or wireless network, or can becapable of processing or storing signals, such as in memory as physicalmemory states. Devices capable of operating as a server can include, asexamples, dedicated rack-mounted servers or computers, desktopcomputers, laptop computers, set top boxes, integrated devices combiningvarious features, such as two or more features of the foregoing devices,or the like. Servers as well computers of clusters can vary widely inconfiguration or capabilities, but generally, a server can include oneor more central processing units and memory. A server or a computer of acluster can also include one or more mass storage devices, one or morepower supplies, one or more wired or wireless network interfaces, one ormore input/output interfaces, or one or more operating systems, such asWindows Server, Mac OS X, Unix, Linux, FreeBSD, or the like.

In some embodiments, users are able to access services provided byservers (e.g., see the servers shown in FIG. 1 ) and such servers canstore various types of applications and application related informationincluding application data and user profile information (e.g.,identifying and behavioral information associated with a user). Itshould also be understood that the servers can also store various typesof data related to content and services provided by an associateddatabase.

Embodiments exist where the network 105 is also coupled with/connectedto a Trusted Search Server (TSS) which can be utilized to rendercontent/data/information in accordance with the embodiments discussedherein. Embodiments exist where the TSS functionality can be embodiedwithin the servers 108, 112, and 116 as well as the computers of network105.

Moreover, although FIG. 1 illustrates servers 108, 112, and 116 assingle computing devices, respectively, the disclosure is not solimited. For example, one or more functions of servers 108, 112, and 116can be distributed across one or more distinct computing devices.Moreover, in one embodiment, servers 108, 112, and 116 can be integratedinto a single computing device, without departing from the scope of thepresent disclosure.

And, in some embodiments, the analytics server 116 can include analyticsbased on artificial intelligence (AI) and/or machine learning. Forexample, the analytics can include or be based on an artificial neuralnetwork (ANN). In such embodiments, for the affiliate app or website,the data accumulating from populating fields and clicks and other typesof interactions by users over time allows the affiliate to build machinelearning models that can more easily predict what bets customers aregoing to want to make, and to recalculate odds independent of thebetting services in real-time so that the affiliate can assist customersin identifying which bets are undervalued or overvalued, which bets theyprefer, etc. Such functionality can be implemented via the analyticsserver 116 and database 118.

FIG. 2 is a schematic diagram illustrating a computing device 200showing an example embodiment of a computing device that can be usedwithin the present disclosure. The computing device 200 can include manymore or less components than those shown in FIG. 2 . However, thecomponents shown are sufficient to disclose an illustrative embodimentfor implementing some aspects the present disclosure. The computingdevice can represent, for example, any one or more of the servers orclient devices discussed above in relation to FIG. 1 .

As shown in the figure, computing device 200 includes a processing unit(CPU) 222 in communication with a mass memory 230 via a bus 224.Computing device 200 also includes a power supply 226, one or morenetwork interfaces 250, and an input/output interface 260 (which caninclude an audio interface, a display, a keypad, an illuminator, aglobal positioning systems (GPS) receiver, sensors, and an input/outputinterface to such devices).

Power supply 226 provides power to computing device 200. A rechargeableor non-rechargeable battery can be used to provide power. The power canalso be provided by an external power source, such as an AC adapter or apowered docking cradle that supplements and/or recharges a battery.Computing device 200 can optionally communicate with a base station (notshown), or directly with another computing device. Network interface 250includes circuitry for coupling computing device 200 to one or morenetworks, and is constructed for use with one or more communicationprotocols and technologies as discussed above. Network interface 250 issometimes known as a transceiver, transceiving device, or networkinterface card (NIC). The input/output interface 260 can be used forcommunicating with external devices. Input/output interface 260 canutilize one or more communication technologies, such as USB, infrared,Bluetooth™, or the like.

Mass memory 230 includes a RAM 232, a ROM 234, and other storage means.Mass memory 230 illustrates another example of computer storage mediafor storage of information such as computer readable instructions, datastructures, program modules or other data. Mass memory 230 stores abasic input/output system (“BIOS”) 240 for controlling low-leveloperation of computing device 200. The mass memory also stores anoperating system 241 in RAM 232 for controlling the operation ofcomputing device 200. It will be appreciated that this component caninclude a general-purpose operating system such as a version of UNIX, orLINUX™, or a specialized client communication operating system such asWindows Client™, or the Symbian® operating system. The operating systemcan include, or interface with a Java virtual machine module thatenables control of hardware components and/or operating systemoperations via Java application programs.

The mass memory also stores a system browser in RAM 232 for controllingoperations of a system browser 243 and applications 242, such as theaffiliate application 109 or the back-end transactional component 113shown in FIG. 1 .

Memory 230 further includes one or more data stores, which can beutilized by computing device 200 to store, among other things, thesystem browser 243, the applications 242 and/or other data. For example,data stores can be employed to store information that describes variouscapabilities of computing device 200. The information can then beprovided to another device based on any of a variety of events,including being sent as part of a header during a communication, sentupon request, or the like. At least a portion of the capabilityinformation can also be stored on a disk drive or other storage medium(not shown) within computing device 200.

Applications 242 can include computer executable instructions which,when executed by computing device 200 or any of the other serversdescribed herein, transmit, receive, and/or otherwise process text,audio, video, images, and enable telecommunication with other serversand/or another user of another client device. Examples of applicationprograms or “apps” in some embodiments include browsers, calendars,contact managers, task managers, transcoders, photo management, databaseprograms, word processing programs, security applications, spreadsheetprograms, games, search programs, and so forth.

In some embodiments, the computing device 200 can be one of the clientdevices shown in FIG. 1 or the affiliate server 108 shown in FIG. 1 andcan include a processor and a non-transitory computer-readable storagemedium for tangibly storing thereon program logic (e.g., see theaffiliate app 109) for execution by the processor, the program logichaving executable logic for performing the steps of method 500. Forexample, the program logic and/or the affiliate app 109 can haveexecutable logic for retrieving and/or receiving an odds feed from theoperator's back-end transactional component in order to show the oddsmodule in the affiliate's app's graphical user interface (GUI). Theprogram logic and/or the affiliate app 109 can have executable logic forreceiving user consent and other user data, via the GUI of the affiliateapp, to communicate the consent and other user data to the operator'sback-end transactional component. The program logic and/or the affiliateapp 109 can have executable logic for generating a user account via userinteraction with the GUI of the affiliate app, to communicate theaccount data to the operator's back-end transactional component. Theprogram logic and/or the affiliate app 109 can have executable logic forgenerating a bet according to user interaction with an electronic walletand the GUI of the affiliate app, to communicate the bet to theoperator's back-end transactional component. The program logic and/orthe affiliate app 109 can have executable logic for tracking the bet viarequesting and receiving communications of bet updates from theoperator's back-end transactional component.

In some embodiments, the computing device 200 can be at least theoperator server 112 shown in FIG. 1 and can include a processor and anon-transitory computer-readable storage medium for tangibly storingthereon program logic (e.g., see the back-end transactional component113) for execution by the processor, the program logic having executablelogic for performing the steps of method 600. For example, the programlogic and/or the back-end transactional component 113 can haveexecutable logic for communicating the odds feed to the affiliate appbased on affiliate app's requests to show the odds module in theaffiliate app's GUI. The program logic and/or the back-end transactionalcomponent 113 can have executable logic for, upon receiving consent andother user data from affiliate app, integrating a workflow of theaffiliate app to process and verify user consent and other user data.The program logic and/or the back-end transactional component 113 canhave executable logic for integrating a workflow of the affiliate app togenerate a user account according to user account data received from theaffiliate app. The program logic and/or the back-end transactionalcomponent 113 can have executable logic for integrating a workflow ofthe affiliate app to generate and place a bet according to bet andwallet data received from the affiliate app. The program logic and/orthe back-end transactional component 113 can have executable logic forcommunicating bet updates to the affiliate app according to requests forsuch data from the affiliate app.

Having described components of the architecture example employed withinthe disclosed systems and methods, the components' operations withrespect to the disclosed systems and methods will now be described belowwith reference to FIGS. 3A, 3B, 4, 5, and 6 .

In some embodiments, there are different levels of integration. Forexample, at a first level, odds feed integration and simple redirectflow can occur in the affiliate app. E.g., see FIGS. 4, 5, and 6 . At asecond level, the affiliate app can be more integrated with functionsthat conventionally occur on the servers of a sports betting operator.E.g., see FIGS. 4 and 5 . For example, on the second level, theaffiliate app can integrate a bet slip which is then processed by theback-end transactional component of the operator but after the data isentered and saved via the affiliate app. E.g., see FIGS. 4, 5, and 6 .These functions and levels can relate to a workflow of an integrated betslip and environment for the affiliated app. E.g., see FIGS. 4, 5, and 6.

FIGS. 3A and 3B are schematic diagrams illustrating an example workflow300, in accordance with some embodiments of the present disclosure. InFIG. 3A, the workflow 300 includes one or more operator API servers 302communicating data via an operator odds API 304 with a sports dataingestion layer 306. The sports data ingestion layer 306 can ingest orpreprocess the communicated data for sharing the data with the database308, which can store, organize, manage, and share the ingested orpreprocessed data. The database query and manipulation layer 310 of theworkflow 300 can query information from the database 308 as well asupdate or change the data stored and organized by the database 308. Anapplication of the affiliate, such as affiliate app 109, can use thedatabase query and manipulation layer 310 to query information from thedatabase 308 as well as update or change the data stored and organizedby the database 308 via at least the servers and apps of the operator. Amobile device or computing device can show odds in the affiliate's webor native app graphical user interface (GUI) 312. Then, the mobiledevice or computing device can be redirected to operator's web or nativeapp and/or backend component to place a bet according to one or more ofthe shown odds in a GUI 314.

In FIG. 3B, the workflow 300 includes the mobile device or computingdevice providing fields in a GUI 316 to connect user identity with thesports betting operator. With the GUI 316, OpenID workflow can be usedto connect the user identity with the sports betting operator. The GUI316 can occur after the odds are presented in the GUI 312 andredirection occurs in GUI 314, when the user has selected an interest inplacing a bet. In GUI 318 of the affiliate app, fields for login,betting, and the like can be prepopulated. The prepopulating can occurvia an electronic wallet of the affiliate application, and it can beshown via an iframe or a webview. In GUI 320 of the affiliate app, anelectronic wallet of the app can be shown and/or used for funding ofbets. In GUI 322, such as via an iframe or a webview, the sports bettingoperator's system can provide for executing trades, adjusting lines, andplacing bets. In GUI 324, the affiliate app can track and provide betstatus via one or more APIs of the sports betting operator.

FIGS. 4, 5, and 6 are flowcharts illustrating example methods 400, 500,and 600 respectively, in accordance with some embodiments of the presentdisclosure.

In FIG. 4 , the method 400 is shown being performed by a first part ofan affiliate application 402 (e.g., see affiliate application 109 shownin FIGS. 1 and 2 ), a first part of a back-end transactional component404 (e.g., see back-end transactional component 113), a second part ofthe affiliate application 406, and a second part of the back-endtransactional component 408. The first part of the affiliate app 402 caninclude a GUI and related parts to promote betting, such as throughdisplaying ads and odds. The first part of the affiliate app 402 canalso include a GUI and related parts to provide wallet data,transactions data, and feedback on bets made. The first part of theback-end transactional component 404 can manage and facilitateauthorization and credentials for interactions between the affiliate appand the back-end transactional component.

The second part of the affiliate application 406 can manage sharing userinformation retrieved by the affiliate application with the back-endtransactional component. The second part of the affiliate application406 can include a workflow, such as the OpenID connect flow, that allowsfor user content to be communicated between an affiliate app or websiteand the operator's back-end transactional component. The affiliate appor website can support the OpenID connect flow and can integrate it withthe back-end transactional component of the operator. The operator canprovide the integration of the workflow and make calls to APIs of theaffiliate app or website to get the user data.

The second part of the back-end transactional component 408 can managegeneration and use of a new user account for betting. And, bets andfinancial transactions can be made via the second part of the back-endtransactional component 408.

As shown, the method 400 begins with the first part of the affiliate app402 presenting a betting ad to a user, at step 412. If the user selectsthe ad, then the first part of the back-end transactional component 404collects user information and credentials as well as an authorizationrequest for betting. Then, the first part of the back-end transactionalcomponent 404 sends, to the second part of the affiliate app 406, theuser information and credentials as well as the authorization request—atstep 414.

At step 416, the second part of the affiliate app 406 redirects the userexperience back to the first part of the back-end transactionalcomponent 404 to collect additional information from the user via theback-end transactional component. At step 418, the first part of theback-end transactional component 404 can then redirect the userexperience back to the second part of the affiliate app 406. Redirectionvia steps 416 and 418 can occur via redirect URLs. Also, in these steps,OpenID can allow for user content to be communicated between anaffiliate app or website and the operator's back-end transactionalcomponent. The OpenID and the operator can provide the integration ofthe workflow and make calls to APIs of the affiliate app or website toget the user data. Also, at step 420, the second part of the affiliateapp 406 prompts the user for permission to share data with the operator.At step 422, the second part of the back-end transactional component 408retrieves the permission if the user gives permission to the affiliateto share information with the operator. This can be managed via OpenID.

At step 424, the second part of the affiliate app 406 sends anauthorization code according to the permission to the first part of theback-end transactional component 404. At step 426, the first part of theback-end transactional component 404 requests for an access token fromthe second part of the affiliate app 406. And, at step 428, the secondpart of the affiliate app 406 sends an access token and a refresh tokenback to the first part of the back-end transactional component 404.These steps can be managed via OpenID. Then, the access token and therefresh token can be saved on the operator's servers.

At step 430, the first part of the back-end transactional component 404sends a request for additional user information from the first part ofthe affiliate app 402 to complete registration. The providing of theadditional information is permitted by the first part of the affiliateapp 402 due to the first part of the back-end transactional component404 sending access tokens to the affiliate app.

At step 432, upon successful registration via the previously mentionedsteps, the operator GUID and userID stored with the operator is used tocomplete authentication between the affiliate and the operator. This canbe done via OpenID as well. And, then, at step 434, the first part ofback-end transactional component 404 can send the user authorizationcredentials for the affiliate to call one or more operator APIs from thefirst part of the affiliate app 402. The operator can send server accesstoken for affiliate to call its API(s) to get bet status. Thesementioned tokens can be used to integrate an electronic wallet and sendsecured transactional details to the affiliate.

In FIG. 5 , method 500 details steps performed by one or more computingdevices (such as one or more of the computing devices described herein),in accordance with some embodiments of the present disclosure.Specifically, the steps of method 500 can be performed by a computingdevice having or running the affiliate application 109. In general, thesteps are for integrating sports betting slips and environments foraffiliates.

Method 500 begins with step 502, with an affiliate application (e.g.,affiliate app 109) retrieving and receiving an odds feed from a back-endtransactional component (e.g., back-end transactional component 113) ofa sports betting operator in order to show an odds module in a graphicaluser interface (GUI) of the affiliate application. Step 502 can be apart of a shared step one. The shared step one includes operations bythe affiliate app and the operator's back-end transactional component.The shared steps can be seen in FIG. 4 showing the flow to link the useraccount using a workflow of the affiliate app or website. The workflowcan include OpenID Connect. The shared step one can include theaffiliate retrieving the odds feed from the operator in order to showthe odds module in either an app or website of the affiliate. In thisstep the affiliate can do the work to call operator APIs or retrieve adata feed from the operator that serves an odds module.

At step 504, the affiliate application receives user data via the GUI ofthe affiliate application. The user data can include user consent dataand credentials of a user. Step 504 can be a part of a shared step two.The shared steps can be seen in FIG. 4 showing the flow to link the useraccount using a workflow of the affiliate app or website. The sharedstep two can include operations by the affiliate app and the operator'sback-end transactional component. Shared step two can include aworkflow, such as the OpenID connect work flow. The work flow can allowfor user content to be communicated between an affiliate app or websiteand the operator's back-end transactional component. The affiliate appor website can support the OpenID connect flow and can integrate it withthe back-end transactional component of the operator. The operate canprovide the integration of the workflow and make calls to APIs of theaffiliate app or website to get the user data.

At step 506, the affiliate application sends the user data to theback-end transactional component. Step 506 can be a part of a sharedstep two too.

At step 508, the affiliate application generates a user accountaccording to user interaction with the GUI of the affiliate application.Step 508 can be a part of a shared step three. The shared steps can beseen in FIG. 4 showing the flow to link the user account using aworkflow of the affiliate app or website. The shared step three includesoperations by the affiliate app and the operator's back-endtransactional component. Shared step three can include user accountgeneration happening inside a webview or an iframe.

In some embodiments, for the affiliate component, webviews can be usedas an alternative to iframes inside native mobile apps on iOS orAndroid. Iframes can be used to support the affiliate component via aweb browser. The information that is provided into the iframe or webviewdepending on the implementation can be information that the affiliatehas already inferred, received, or retrieved from a user (who could be acustomer of the affiliate). The bet slip or environment in such examplescan be pre-populated and the user only then needs to select or click tomake a bet or buy or invest. Although all these steps can be implementedthrough the affiliate app or website, the finalization of thetransactions and the holding of the funds must be controlled andperformed by the servers of the sports betting operator. This is so theoverall system is in regulatory compliance.

In some embodiments, for the affiliate app or website, the dataaccumulating from populating fields and clicks and other types ofinteractions by users over time allows the affiliate to build machinelearning models that can more easily predict what bets customers aregoing to want to make, and to recalculate odds independent of thebetting services in real-time so that the affiliate can assist customersin identifying which bets are undervalued or overvalued, which bets theyprefer, etc.

In some embodiments, the affiliate uses iframes via a web browser andwebsite to manage the registration and betting flow of the operator.Alternatively, the affiliate can use webview via a native app to managethe registration and betting flow of the operator. In such embodiments,the operator's system can call an API of the affiliate's system usingthe credentials received from a workflow such as OpenID flow. Thisprocess can be used to prepopulate a registration form or betting form.Also, artificial intelligence and/or machine learning can be used forpre-population of such forms.

At step 510, the affiliate application sends account data of thegenerated user account to the back-end transactional component. Step 510can be a part of a shared step three too.

At step 512, the affiliate application generates a bet according to userinteraction with an electronic wallet and the GUI of the affiliateapplication. And, at step 514, the affiliate application sends the betto the back-end transactional component. The electronic wallet of theaffiliate app can have functionally somewhat similar to a wallet, but itis in electronic and/or GUI form. Steps 512 and 514 can be parts of ashared step four. The shared steps can be seen in FIG. 4 showing theflow to link the user account using a workflow of the affiliate app orwebsite. The shared step four can include operations by the affiliateapp and the operator's back-end transactional component.

With shared step four, the user can connect to the affiliate app orwebsite to place a bet. In this shared step the affiliate can open theelectronic wallet to allow an operator to use the balance to place abet. The operator can then integrate the electronic wallet as an allowedpayment option to fund the bet. Also, this step is where the user canplace the bet, which can be done via a webview or an iframe depending onthe implementation or embodiment. The betting information is thencommunicated to the operator to finalize the bet accordingly using theworkflow.

At step 516, the affiliate application tracks the bet via requesting andreceiving communications of bet updates from the back-end transactionalcomponent. Step 516 can be a part of a shared step five. The sharedsteps can be seen in FIG. 4 showing the flow to link the user accountusing a workflow of the affiliate app or website. The workflow caninclude OpenID Connect. The shared step five can include operations bythe affiliate app and the operator's back-end transactional component.With share step five, a user can track bet history from the affiliateapp or website. In this step, the affiliate can call the API(s) of theoperator to retrieve bet status information. The operator, in such anembodiment, can expose its API(s) to show status of a bet.

In FIG. 6 , method 600 details steps performed by one or more computingdevices (such as one or more of the computing devices described herein),in accordance with some embodiments of the present disclosure.Specifically, the steps of method 600 can be performed by a computingdevice having or running the back-end transactional component 113. Ingeneral, the steps are for integrating sports betting slips andenvironments for affiliates.

Method 600 begins with step 602, with a back-end transactional componentof the sports betting operator (e.g., back-end transactional component113) sending an odds feed to an affiliate application based on requestsby the affiliate application to show an odds module in a graphical userinterface (GUI) of the affiliate application. Step 602 can be part ofthe shared step one.

At step 604, the back-end transactional component integrates a workflowof the affiliate application to process and verify user data receivedfrom the affiliate application. The user data can include user consentdata and credentials of a user. Step 604 can be part of the shared steptwo.

At step 606, the back-end transactional component further integrates theworkflow of the affiliate application to generate a user account for theuser according to the user data. Step 606 can be part of the shared stepthree.

At step 608, the back-end transactional component further integrates theworkflow of the affiliate application to generate and place a bet forthe user according to bet and wallet data associated with the userreceived from the affiliate application. Step 608 can be part of theshared step four.

At step 610, the back-end transactional component sends bet updates tothe affiliate application according to requests for bet updates on theplaced bet received from the affiliate application. Step 610 can be partof the shared step five.

With respect to the processes of FIGS. 5 and 6 as well as FIG. 4 , afirst computing device of a sports betting affiliate can execute theaffiliate application. And, a second computing device of the sportsbetting operator can execute the back-end transactional component. Thefirst computing device can be a part of a first local area network ofthe sports betting affiliate. And, the second computing device can be apart of a second local area network of the sports betting operator whichis separate from the first local area network. And, the first computingdevice and the second computing device can be communicatively coupledvia a wide area network including the first and second local areanetworks.

In some embodiments, the affiliate application can include a website,and the retrieving the odds feed from the back-end transactionalcomponent at step 502 can be via a first link in a first iframe of theweb site. In such embodiments, the sending the user data to the back-endtransactional component at step 506 can be via a second link in thefirst iframe or a second iframe of the web site. Also, the sending theaccount data of the generated user account to the back-end transactionalcomponent at step 510 can be via a third link in the first iframe, thesecond iframe, or a third iframe of the website. Further, the sendingthe bet to the back-end transactional component at step 514 can be via afourth link in the first iframe, the second iframe, the third iframe, ora fourth iframe of the website. And, the tracking the bet via requestingand receiving communications of bet updates from the back-endtransactional component at step 516 can be via a fifth link in the firstiframe, the second iframe, the third iframe, the fourth iframe, or afifth iframe of the website.

An iframe can be or include a HyperText Markup Language (HTML) elementthat allows a web browser window to be split into segments, each ofwhich can show a different document. An iframe can lower bandwidth use,as repeating parts of a layout can be used in one frame, while variablecontent is displayed in another. Iframes can hold documents on differentservers, and iframes can be used to display content (plugins) on thirdparty websites as well as used to display banners on third partywebsites.

In some embodiments, the affiliate application can include a nativeapplication, and the retrieving the odds feed from the back-endtransactional component at step 502 can be via a first link in a firstwebview of the native application. In such embodiments, the sending theuser data to the back-end transactional component at step 506 can be viaa second link in the first webview or a second webview of the nativeapplication. Also, the sending the account data of the generated useraccount to the back-end transactional component at step 510 can be via athird link in the first webview, the second webview, or a third webviewof the native application. Further, the sending the bet to the back-endtransactional component at step 514 can be via a fourth link in thefirst webview, the second webview, the third webview, or a fourthwebview of the native application. And, the tracking the bet viarequesting and receiving communications of bet updates from the back-endtransactional component at step 516 can be via a fifth link in the firstwebview, the second webview, the third webview, the fourth webview, or afifth webview of the native application.

A webview can be, or can include, a web browser that can be a part of anative application and that can be used to display web content withoutleaving the native app. The retrieving of the odds feed can occur via aview controller in the web browser, or the retrieving of the odds feedcan occur via a custom tab in the web browser.

In some embodiments, a view controller or custom tabs can be used withwebviews or web browsers. Any of the processes described herein that areperformed via a web browser can be performed via a view controller or acustom tab in or executed via the web browser. In embodiments using aview controller, a user in the affiliate app can click on a link tostart a betting registration process. The affiliate app can open a pageinside a view controller. An example advantage of using a viewcontroller can include an address bar of a browser showing a URL of theaffiliate app. Also, a view controller can have phishing detectioncapabilities. And, a view controller can run as a separate process fromthe affiliate app which prevents access to private user data, such ascookies for the affiliate app. The view controller can also provide acontinuous experience as it shares data with a web browser. If the userhas logged in before and the session is still active, then the sessioncan continue without requiring an additional login. And, with the viewcontroller, the affiliate can monitor session times and require loginsfor inactive sessions. Users also can have access to data storage onremote storage devices (such as data storage on remote storage devicesin a cloud computing environment). The access to data storage can be viaa keychain, which can improve data security.

In embodiments using custom tabs, a user in the affiliate app can clickon a link to start a betting registration process. The affiliate app canthen open a page inside a customized tab in a web browser. Thecustomized tab can be customized for the affiliate app specifically. Forexample, the tab can include visual design aspects similar to theaffiliate app. An example advantage of using custom tabs can include anaddress bar of a browser showing a URL of the affiliate app. Also,custom tabs can warn users when they try to navigate to possible threatactor sites or download possible threat actor files. Custom tabs canalso provide a continuous experience as such tabs can share cookies witha system of a web browser. If a user has logged in before and thesession is still active, then the session continues without requiringadditional login. Also, the affiliate app, via custom tabs, can monitorthe session times and require logins for inactive sessions.

In some embodiments, a system having at least a first computing deviceof a sports betting affiliate and at least a second computing device ofa sports betting operator can implement the methods 500 and 600respectively (e.g., see system 100 shown in FIG. 1 ). The firstcomputing device can include a first processor and a firstnon-transitory computer-readable storage medium for tangibly storingthereon first program logic for execution by the first processor (thefirst program logic being a part of an affiliate application of a sportsbetting affiliate). The first program logic can include executable logicfor retrieving an odds feed from a back-end transactional component of asports betting operator in order to show an odds module in a graphicaluser interface (GUI) of the affiliate application. The first programlogic can include executable logic for receiving user data via the GUIof the affiliate application. The user data can include user consentdata and credentials of a user. The first program logic can includeexecutable logic for sending the user data to the back-end transactionalcomponent. The first program logic can include executable logic forgenerating a user account according to user interaction with the GUI ofthe affiliate application. The first program logic can includeexecutable logic for sending account data of the generated user accountto the back-end transactional component. The first program logic caninclude executable logic for generating a bet according to userinteraction with an electronic wallet and the GUI of the affiliateapplication. The first program logic can include executable logic forsending the bet to the back-end transactional component. And, the firstprogram logic can include executable logic for tracking the bet viarequesting and receiving communications of bet updates from the back-endtransactional component.

The second computing device can include a second processor and a secondnon-transitory computer-readable storage medium for tangibly storingthereon second program logic for execution by the second processor (thesecond program logic being a part of a back-end transactional componentof a sports betting operator). The second computing device can includeexecutable logic for sending an odds feed to an affiliate applicationbased on requests by the affiliate application to show an odds module ina graphical user interface (GUI) of the affiliate application. Thesecond computing device can include executable logic for integrating aworkflow of the affiliate application to process and verify user datareceived from the affiliate application. The user data can include userconsent data and credentials of a user (as mentioned). The secondcomputing device can include executable logic for integrating theworkflow of the affiliate application to generate a user account for theuser according to the user data. The second computing device can includeexecutable logic for integrating the workflow of the affiliateapplication to generate and place a bet for the user according to betand wallet data associated with the user received from the affiliateapplication. And, the second computing device can include executablelogic for sending bet updates to the affiliate application according torequests for bet updates on the placed bet received from the affiliateapplication.

For the purposes of this disclosure a module is a software, hardware, orfirmware (or combinations thereof) system, process or functionality, orcomponent thereof, that performs or facilitates the processes, features,and/or functions described herein (with or without human interaction oraugmentation). A module can include sub-modules. Software components ofa module can be stored on a computer readable medium for execution by aprocessor. Modules can be integral to one or more servers, or be loadedand executed by one or more servers. One or more modules can be groupedinto an engine or an application.

For the purposes of this disclosure the term “user”, “subscriber”“consumer” or “customer” should be understood to refer to a user of anapplication or applications as described herein and/or a consumer ofdata supplied by a data provider. By way of example, and not limitation,the term “user” or “subscriber” can refer to a person who receives dataprovided by the data or service provider over the Internet in a browsersession, or can refer to an automated software application whichreceives the data and stores or processes the data.

Those skilled in the art will recognize that the methods and systems ofthe present disclosure can be implemented in many manners and as suchare not to be limited by the foregoing exemplary embodiments andexamples. In other words, functional elements being performed by singleor multiple components, in various combinations of hardware and softwareor firmware, and individual functions, can be distributed among softwareapplications at either the client level or server level or both. In thisregard, any number of the features of the different embodimentsdescribed herein can be combined into single or multiple embodiments,and alternate embodiments having fewer than, or more than, all of thefeatures described herein are possible.

Functionality can also be, in whole or in part, distributed amongmultiple components, in manners now known or to become known. Thus,myriad software/hardware/firmware combinations are possible in achievingthe functions, features, interfaces and preferences described herein.Moreover, the scope of the present disclosure covers conventionallyknown manners for carrying out the described features and functions andinterfaces, as well as those variations and modifications that can bemade to the hardware or software or firmware components described hereinas would be understood by those skilled in the art now and hereafter.

Furthermore, the embodiments of methods presented and described asflowcharts in this disclosure are provided by way of example in order toprovide a more complete understanding of the technology. The disclosedmethods are not limited to the operations and logical flow presentedherein. Alternative embodiments are contemplated in which the order ofthe various operations is altered and in which sub-operations describedas being part of a larger operation are performed independently.

While various embodiments have been described for purposes of thisdisclosure, such embodiments should not be deemed to limit the teachingof this disclosure to those embodiments. Various changes andmodifications can be made to the elements and operations described aboveto obtain a result that remains within the scope of the systems andprocesses described in this disclosure.

What is claimed is:
 1. A method comprising: retrieving over a computernetwork via a web browser, by an affiliate application of an affiliate,an odds feed from a back-end transactional component of a sports bettingoperator in order to show an odds module in a graphical user interface(GUI) of the affiliate application displayed via the web browser;receiving, by the affiliate application, user data via the GUI of theaffiliate application, the user data comprising user consent data andcredentials of a user; sending over the computer network via the webbrowser, by the affiliate application, the user data to the back-endtransactional component to offload data processing of the user data tothe back-end transactional component; generating, by the affiliateapplication, a user account according to user interaction with the GUIof the affiliate application; sending over the computer network via theweb browser, by the affiliate application, account data of the generateduser account to the back-end transactional component to offload dataprocessing of the account data to the back-end transactional component;generating, by the affiliate application, a bet according to userinteraction with an electronic wallet and the GUI of the affiliateapplication; and sending over the computer network via the web browser,by the affiliate application, the bet to the back-end transactionalcomponent to offload data processing of the bet to the back-endtransactional component.
 2. The method of claim 1, wherein theretrieving of the odds feed occurs via a view controller in the webbrowser.
 3. The method of claim 1, wherein the retrieving of the oddsfeed occurs via a custom tab in the web browser.
 4. The method of claim1, further comprising: tracking through the computer network via the webbrowser, by the affiliate application, the bet via requesting andreceiving communications of bet updates from the back-end transactionalcomponent.
 5. The method of claim 4, wherein a first computing device ofthe sports betting affiliate executes the affiliate application, andwherein a second computing device of the sports betting operatorexecutes the back-end transactional component.
 6. The method of claim 5,wherein the first computing device is a part of a first local areanetwork of the sports betting affiliate, wherein the second computingdevice is a part of a second local area network of the sports bettingoperator which is separate from the first local area network, andwherein the first computing device and the second computing device arecommunicatively coupled via a wide area network comprising the first andsecond local area networks.
 7. The method of claim 4, wherein theaffiliate application comprises a website, and wherein the retrievingthe odds feed from the back-end transactional component is via a firstlink in an iframe of the website.
 8. The method of claim 7, wherein thesending the user data to the back-end transactional component is via asecond link in the iframe.
 9. The method of claim 8, wherein the sendingthe account data of the generated user account to the back-endtransactional component is via a third link in the iframe.
 10. Themethod of claim 9, wherein the sending the bet to the back-endtransactional component is via a fourth link in the iframe.
 11. Themethod of claim 10, wherein the tracking the bet via requesting andreceiving communications of bet updates from the back-end transactionalcomponent is via a fifth link in the iframe.
 12. The method of claim 4,wherein the affiliate application comprises a native application, andwherein the retrieving the odds feed from the back-end transactionalcomponent is via a first link in a webview of the native application.13. The method of claim 12, wherein the sending the user data to theback-end transactional component is via a second link in the webview.14. The method of claim 13, wherein the sending the account data of thegenerated user account to the back-end transactional component is via athird link in the webview.
 15. The method of claim 14, wherein thesending the bet to the back-end transactional component is via a fourthlink in the webview.
 16. The method of claim 15, wherein the trackingthe bet via requesting and receiving communications of bet updates fromthe back-end transactional component is via a fifth link in the webview.17. A non-transitory computer-readable storage medium tangibly encodedwith computer-executable instructions, that when executed by a processorof computing device, performs a method, the method comprising:retrieving over a computer network via a web browser, by an affiliateapplication of an affiliate, an odds feed from a back-end transactionalcomponent of a sports betting operator in order to show an odds modulein a graphical user interface (GUI) of the affiliate applicationdisplayed via the web browser; receiving, by the affiliate application,user data via the GUI of the affiliate application, the user datacomprising user consent data and credentials of a user; sending over thecomputer network via the web browser, by the affiliate application, theuser data to the back-end transactional component to offload dataprocessing of the user data to the back-end transactional component;generating, by the affiliate application, a user account according touser interaction with the GUI of the affiliate application; sending overthe computer network via the web browser, by the affiliate application,account data of the generated user account to the back-end transactionalcomponent to offload data processing of the account data to the back-endtransactional component; generating, by the affiliate application, a betaccording to user interaction with an electronic wallet and the GUI ofthe affiliate application; and sending over the computer network via theweb browser, by the affiliate application, the bet to the back-endtransactional component to offload data processing of the bet to theback-end transactional component.